1. Field of the Invention
This invention generally relates to display devices and more specifically to a device which enables straight lines on cathode ray tube screens or the like in response to digital data inputs.
2. Description of the Prior Art
Almost all of today's sophisticated graphic systems are capable of presenting information in a virtual drawing area that is larger than the visible drawing area on a display device. The ability to draw a larger picture than that which can be seen is known as windowing. In order to accomplish windowing, apparatus must be provided which eliminates those parts of the picture which fall outside the visible area.
One of the oldest and most inexpensive display systems capable of windowing is the incremental display. This system uses position registers which store information that is larger than the analog components used for controlling the display device. For example, when viewing FIG. 1, four sections which comprise a display area are shown. The lower left hand area is the visible display area while the other three areas shown in dotted lines are virtual display areas. As shown in FIG. 1, vector A starts in the visible area but ends in the virtual area. Vector A in this instance has a visible portion and also an invisible portion. The position registers in an incremental display would store information about the entire vector; however, the analog components of the incremental display would only be responsive to information in the visible area.
More specifically, the way in which the virtual area is accounted for is that the Cartesian coordinates defined in the position registers contains a larger number than that which can be shown on the screen area. For example, if a position register stores values having 12 bits, the digital-to-analog converter which outputs to the display would be responsive to only the lower 10 bits leaving the two upper bits of the binary number unaccounted for. These high order two bits of each axis are called sector bits and, when combined, would define one of the four areas shown in FIG. 1. Thus, the virtual drawing area for FIG. 1 is three times larger than the visible area.
In the particular example shown, when the position registers in the incremental display overflow, i.e., when the sector bits have a non-zero value, the intensity of the display is turned off; however, the vector would continue to be drawn into the virtual area. This is vector A to the right of the solid line.
The method used to window in incremental displays is known as blanking since the intensity of the display is blanked while the vector is being drawn off the visible area. The main drawback of incremental displays is speed. They are relatively slow and require the same amount of time to draw invisible vectors as they do to draw visible vectors.
A much faster method of vector generation is known as the stroke system. In this system an integrator is used to generate a ramp voltage which is then summed with position digital-to-analog converters (DAC's). The position DAC's in a stroke system holds the initial position of the beam on the screen and the ramp is used to generate the vector. Upon completion of the vector, the integrator is returned to zero and the position DAC's are updated to the end of the vector just drawn. This position is then the initial position of the next vector.
In the example shown in FIG. 1, the position DAC's would show the initial starting point of vector A. Upon the integrator generating a ramp voltage, the vector would be drawn from the starting point to the end of the visible portion of the screen. If blanking is used in this system, the analog circuitry must be capable of keeping track of the vector in the virtual area so that it can determine the position for re-entry back onto the display. This tracking makes for a very impractical system as the cost of the analog circuitry would be inordinately high since it would have to include sufficient power to keep track of vectors in the virtual area.
What is normally done in this situation, however, is that if the display has a vector which violates the edge of the visible portion, the vector is not drawn at all. The position registers are merely updated to keep track of the beam and only lines with both the start and the end points in the visible portion are drawn.
A technique known as clipping is used with stroke systems. Clipping is normally done in software and only the modified and visible data is presented to the display. The remaining portions outside the visible area are eliminated from the display file. Clipping routines are relatively slow and complex and require large data bases.
In the systems used above and one which had been previously used by Applicant's assignee and which was disclosed in U.S. Pat. No. 3,800,183, another major problem recognized was intensity variations when drawing a vector. This was caused by vectors of different angles drawing at different velocities. These prior systems utilize complex analog circuitry and approximation calculations in order to make the intensity of the vector constant. However, in spite of all the additional circuitry added by these devices, a truly constant intensity was never developed.